package com.maotouying.tmtapp.activity;

import android.annotation.SuppressLint;
import android.os.Bundle;
import android.webkit.WebSettings;

import com.maotouying.tmtapp.R;
import com.maotouying.tmtapp.jsbridge.BridgeHandler;
import com.maotouying.tmtapp.jsbridge.BridgeWebView;
import com.maotouying.tmtapp.jsbridge.CallBackFunction;

/**
 * @author mingtai
 * @description 用来呈现web页面
 * @time 2020/11/21 22:21
 */


@SuppressLint("SetJavaScriptEnabled")
public class WebActivity extends BaseActivity {

    private BridgeWebView bridgeWebView;
    private String url;

    @Override
    protected int initLayout() {
        return R.layout.activity_web;
    }

    @Override
    protected void initView() {
        bridgeWebView = findViewById(R.id.bridgeWebView);
    }

    @Override
    protected void initDate() {

        // 获取上一级传过来的bundle
        Bundle bundle = getIntent().getExtras();
        if (bundle != null) {
            url = bundle.getString("url");
        }
        initWebView();
    }


    private void initWebView() {
        WebSettings settings = bridgeWebView.getSettings();
        settings.setJavaScriptEnabled(true);
        bridgeWebView.loadUrl(url);

    }

    // 给js提供一个接口，当js调用这个接口时，会执行一下内容
    private void registJavaHandler() {
        // 给js提供一个接口，当js调用goBack接口时，会执行finish()方法
        bridgeWebView.registerHandler("goBack", new BridgeHandler() {
            @Override
            public void handler(String data, CallBackFunction function) {
                // String data 前端代码带过来的数据
                // function.onCallBack("0");  此方法可以调用前端代码，回传信息，完成混合开发android与js的通信
                // 销毁当前Activity的方法
                finish();
            }
        });
    }


}